package xby.study.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class MyInvocationHandler implements InvocationHandler {
 
    private Object target;
 
    public MyInvocationHandler(Object target){
        this.target = target;
    }
    // proxy JDK创建的代理对象，无需赋值，不需要你管理，没什么用
    // method 目标对象中的方法，JDK提供Method对象，就是要调用目标对象的某个方法的Method对象
    // args 调用目标对象某个方法时接受的参数，JDK提供的，不需要认为参与
    @Override
    public Object invoke(Object proxy, Method method, Object[] args ) throws Throwable {
        System.out.println("增强版：method :" + method.getName() + " is invoked!");
        return method.invoke( target,args );
    }
 
    
}
